The present invention relates to a method and/or architecture for improving efficiency in a rollback process generally and, more particularly, to a method and/or architecture for implementing I/O requests concurrently with a rollback process.
Conventional technology exists for quickly creating a snapshot (i.e., a point-in-time) image of a volume. At the time the snapshot is taken, a new volume is made available that can be used to access the point-in-time image of the original volume while the original volume can continue to be modified. The original volume is temporarily unavailable when the snapshot is established. When the original volume is being modified, a copy of the original data is temporarily saved in a separate repository volume. The method is typically referred to as a copy-on-write mechanism.
Conventional technology also permits the contents of the original volume to be xe2x80x9crolled backxe2x80x9d to the time that the snapshot was taken. Such a rollback process involves copying data that was saved in the repository volume back to the original volume. However, the rollback process can consume a considerable amount of time depending on the amount of data that has been changed since the time the snapshot was taken.
Conventional rollback mechanisms have limitations in that the original volume is unavailable (offline) during the rollback process. Additionally, since the original volume is offline, new snapshots cannot be made until the rollback process is complete.
The present invention concerns a method for allowing I/O requests to run concurrently during a rollback process, comprising the steps of (A) reading from and writing to an original volume and (B) allowing the I/O requests to run concurrently during the rollback process from a snapshot volume.
Another aspect of the present invention concerns an apparatus configured to read and write data to an original volume. The apparatus may be configured to run concurrently during a rollback process of the original volume from a second volume.
The objects, features and advantages of the present invention include providing method and/or apparatus that allows I/O requests to run concurrently with a rollback from a snapshot in a drive or drive array that may (i) allow efficient implementation of a snapshot (e.g., point-in-time) image of a volume; (ii) allow full availability of the original volume during a rollback process; and/or (iii) allow new snapshots to be taken of the volume at any point during the rollback process.